
package view;

import control.Comando;
import control.Controle;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import javax.swing.*;
import model.*;

public class InterfaceVerPlaylist implements Comando {

    @Override
    public void executar() {

        HashMap playlists = new HashMap();      

        int valor = 0;
        ArrayList<String> opcoes = new ArrayList();

        Iterator<Playlist> it = Controle.usuarioAtual.getPlaylists().iterator();        

        while(it.hasNext())
        {
            Playlist obj = it.next();
            String chave = Integer.toString(valor) + " | " + obj.getNome();
            opcoes.add(chave);
            playlists.put(chave, obj);

            valor++;               
        }

        String retorno =  Controle.getInput("Escolha sua Playlist:", "Ver Playlist",opcoes.toArray());
        Playlist playlistSelecionada = (Playlist)playlists.get(retorno); 

        //System.out.println("excluir musica");

        playlists = new HashMap(); 
        valor = 0;
        opcoes = new ArrayList();

        ArrayList<Musica> musicasAux = playlistSelecionada.getMusicas();
        if (musicasAux.isEmpty()){JOptionPane.showMessageDialog(null, "Esta Playlist não contém músicas.");}
        else{
            Iterator<Musica> it2 = musicasAux.iterator();   

            while(it2.hasNext())
            {
                Musica obj = it2.next();

                String chave = Integer.toString(valor) + " | " + obj.getTitulo() + " - " + obj.getArtista().getNomeArtistico();
                opcoes.add(chave);
                playlists.put(chave, obj);

                valor++; 
            }

            retorno =  Controle.getInput("Escolha uma música:", "Gerenciar Playlist",opcoes.toArray());
            //Musica musicaSelecionada = (Musica)playlists.get(retorno); 

            //playlistSelecionada.removeMusica(musicaSelecionada);            
        }
    }
}
